//代码题 三、基于下面提供的代码，完成后续的四个练习:

//练习3：实现一个函数ex3，使用safeProp和fp.first找到user的名字的首字母
const fp = require('lodash/fp')
const { Maybe, Container } = require('./functors')
const safeProp = fp.curry(function (x, o) {
    return Maybe.of(o[x])
})
const user = { id: 2, name: 'Albert' }

//第一种写法
const ex3 = (user) => {
    return safeProp('name', user).map(fp.first)
}
console.log(ex3(user)._value);
//结果：'A'

//第二种写法
const ex4 = fp.flowRight(fp.map(fp.first), safeProp('name'))
console.log(ex4(user));
//结果：[ 'A' ]